package com.xnyzc.lhy.finance.mapper.bank;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xnyzc.lhy.mis.entity.cms.driver.DriverUserInfo;
import com.xnyzc.lhy.mis.entity.user.OaDUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 用户基础表 Mapper 接口
 * </p>
 *
 * @author lhy@xnyzc.com
 * @since 2019-07-18
 */
public interface OaDUserMapper extends BaseMapper<OaDUser> {

    /**
     * 司机信息管理列表查询
     *
     * @return
     */
    List<DriverUserInfo> getDriverManagementList(
            @Param("inId") List<Long> inId,
            @Param("service") String service,
            @Param("index") Long index,
            @Param("limit") Long limit,
            @Param("accountStatus") String accountStatus,
            @Param("driverPhone") String driverPhone,
            @Param("driverName") String driverName,
            @Param("driverType") String driverType,
            @Param("vehNo") String vehNo,
            @Param("acceptancOrderStatus") Integer acceptancOrderStatus);

    Integer getDriverManagementListCountTest(
            @Param("inId") List<Long> inId,
            @Param("vehId") List<Long> vehId,
            @Param("accountStatus") String accountStatus,
            @Param("driverPhone") String driverPhone,
            @Param("driverName") String driverName,
            @Param("driverType") String driverType,
            @Param("vehNo") String vehNo,
            @Param("acceptancOrderStatus") Integer acceptancOrderStatus);

    /**
     * 司机信息管理列表查询
     *
     * @return
     */
    Integer getDriverManagementListCount(
            @Param("inId") List<Long> inId,
            @Param("service") String service,
            @Param("accountStatus") String accountStatus,
            @Param("driverPhone") String driverPhone,
            @Param("driverName") String driverName,
            @Param("driverType") String driverType,
            @Param("vehNo") String vehNo,
            @Param("acceptancOrderStatus") Integer acceptancOrderStatus);

    /**
     * 司机信息管理列表导出
     *
     * @return
     */
    List<DriverUserInfo> getExportDriverManagementList(
            @Param("inId") List<Long> inId,
            @Param("service") String service,
            @Param("accountStatus") String accountStatus,
            @Param("driverPhone") String driverPhone,
            @Param("driverName") String driverName,
            @Param("driverType") String driverType,
            @Param("vehNo") String vehNo,
            @Param("acceptancOrderStatus") Integer acceptancOrderStatus);

    /**
     * 司机详情
     *
     * @param driverId
     * @return
     */
    DriverUserInfo getDriverDetails(@Param("driverId") Long driverId);

    /**
     * 司机账户列表
     *
     * @return
     */
    List<DriverUserInfo> getDriverWalletManagementList(
            @Param("index") Long index,
            @Param("limit") Long limit,
            @Param("driverPhone") String driverPhone,
            @Param("driverName") String driverName);

    /**
     * 司机账户列表
     *
     * @return
     */
    List<DriverUserInfo> getDriverWalletManagementListSum();

    /**
     * 导出司机账户列表
     *
     * @return
     */
    List<DriverUserInfo> exportDriverWalletManagementList(
            @Param("driverPhone") String driverPhone,
            @Param("driverName") String driverName);

    /**
     * 司机账户列表条数
     *
     * @return
     */
    Integer getDriverWalletManagementListCount(
            @Param("driverPhone") String driverPhone,
            @Param("driverName") String driverName);

}
